package com.qiaofang.applet.service.member.service.dto;

import com.qiaofang.applet.constants.MessageTypeEnum;
import com.qiaofang.applet.constants.RemindModeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @Author: youqing.yang
 * @Create: 2021/05/18 10:41
 * @Description:
 **/
@Data
@ApiModel("v20消息盒子入参dto")
public class CreateMessageDTO{

    @ApiModelProperty("消息标题")
    @NotNull(message = "消息标题不能为空")
    @Length(max = 80, message = "消息标题不能超过{max}个字符")
    private String title;
    @ApiModelProperty("消息内容")
    private String content;
    @ApiModelProperty("消息内容缩略图")
    private String messageThumbnail;
    @ApiModelProperty("是否提醒")
    private Boolean remind;
    @NotNull(message = "通知类型不能为空")
    @ApiModelProperty("通知类型")
    private RemindModeEnum remindModeEnum;
    @NotNull(message = "消息类型不能为空")
    @ApiModelProperty("消息类型")
    private MessageTypeEnum messageTypeEnum;
    @NotNull(message = "消息子类型")
    @ApiModelProperty("消息子类型")
    private String subMessageType;
    @NotNull(message = "副标题")
    @ApiModelProperty("副标题")
    private String subTitle;
    @ApiModelProperty("业务类型")
    private String businessType;
    @ApiModelProperty("业务UUID")
    private String businessUuid;
    @Length(max = 40, message = "发送者不能超过{max}个字符")
    @ApiModelProperty("发送者")
    private String sender;
    @ApiModelProperty("到期时间")
    private Date expireDate;

    @NotNull(message = "接受者不能为空")
    @Valid
    List<ReceiverDTO> receiverDTOList;

}
